{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np \n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import sys\n",
    "np.set_printoptions(threshold=sys.maxsize)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 184,
   "metadata": {},
   "outputs": [],
   "source": [
    "################什么是XGBoost?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#############这和我们上次做的LightGBM是一个类似的算法\n",
    "############LightGBM似乎是他的一个升级版\n",
    "###########XG将K个树的结果凑在一起作为预测值\n",
    "############还是之前的那一组数据\n",
    "###########来看看XGBOOST:https://www.jianshu.com/p/a62f4dce3ce8\n",
    "##########和之前的LGBM有一个显著的不同就是最优分割点的选择不同：\n",
    "##########XGB有两种选取分割点的方法：一种是贪心分割\n",
    "#########贪心分割就是枚举每个潜在的分割点选最好的，计算消耗大，会首先对特征进行排序\n",
    "########第二种就是根据特征分布的N个百分位数提出N个最佳分割点，然后把数据放在桶里，然会计算最佳分割点\n",
    "########有两种分割方式：1.局部近似 2.全局近似\n",
    "########局部近似是我们在每个节点分裂的时候再考虑其分位点并划分样本\n",
    "########全局近似是我们在一棵树还没有产生的时候我们就考虑分位点并划分样本"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 185,
   "metadata": {},
   "outputs": [],
   "source": [
    "#############什么是随机森林"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 186,
   "metadata": {},
   "outputs": [],
   "source": [
    "##随机森林指的是利用多棵树对样本进行训练并预测的一种分类器。\n",
    "##首先是又放回的对数据抽样\n",
    "##得到了众多数目不同的数据,当然训练出了诸多不同的树\n",
    "##之后每次预测都是不同树之间投票\n",
    "##分裂点不一定涵盖所有属性啊，和lgb一样有限制的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "path=\"./XGBoost.data/\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_path=path+\"train.csv\"\n",
    "test_path=path+\"test.csv\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_train=pd.read_csv(train_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "#####################EDA分析\n",
    "######################Kaggle提供的地区跨度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_test=pd.read_csv(test_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "places=df_train[\"Country/Region\"].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(163,)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "places.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "########################Kaggle提供的时间跨度\n",
    "########################是差不多一个月的跨度\n",
    "########################需要转化时间序列的属性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_train[\"Date\"]=pd.to_datetime(df_train[\"Date\"])   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "63\n"
     ]
    }
   ],
   "source": [
    "print(len(df_train[\"Date\"].unique()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "#######################每天世界的已确诊人数总和"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Date\n",
       "2020-01-22       539\n",
       "2020-01-23       627\n",
       "2020-01-24       901\n",
       "2020-01-25      1347\n",
       "2020-01-26      1959\n",
       "               ...  \n",
       "2020-03-20    268110\n",
       "2020-03-21    300255\n",
       "2020-03-22    331467\n",
       "2020-03-23    373583\n",
       "2020-03-24    391426\n",
       "Name: ConfirmedCases, Length: 63, dtype: int64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_cases_conf = df_train.groupby(['Date'])['ConfirmedCases'].sum()\n",
    "train_cases_conf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x207e50c2c08>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_cases_conf.plot(figsize = (5,4), title = 'Worldwide Confirmed Cases')\n",
    "#####################上升期-稳定期-爆发期"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x207e581e588>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_fatal = df_train.groupby(['Date'])['Fatalities'].sum()\n",
    "train_fatal.plot(figsize = (5,4), title = 'Worldwide Fatalaties')\n",
    "####################死亡人数在确诊人数进入爆发期后同样进入了爆发期"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "#########################观察不同地区的实际情况\n",
    "#########################对比我们国家和美帝\n",
    "#########################完全不同的局势啊，我们前期高爆后期稳定,美帝前期平稳后期爆发"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def country_stats(country, df):\n",
    "    country_filt = (df['Country/Region'] == country)\n",
    "    df_cases = df.loc[country_filt].groupby(['Date'])['ConfirmedCases'].sum()\n",
    "    df_fatal = df.loc[country_filt].groupby(['Date'])['Fatalities'].sum()\n",
    "    fig, axes = plt.subplots(nrows = 2, ncols= 1, figsize=(5,5))\n",
    "    df_cases.plot(ax = axes[0])\n",
    "    df_fatal.plot(ax = axes[1])\n",
    "country_stats('China', df_train)\n",
    "country_stats('US', df_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "##################这里比较的是不同国家每个地区疫情最严重城市的确诊人数\n",
    "#################为什么意大利比我们确诊人数多？\n",
    "################因为意大利本身就一个地区,单独疫情最严重的湖北地区确诊人数比不上整个意大利的确诊人数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 5 artists>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_case_country = df_train.groupby(['Country/Region'], as_index=False)['ConfirmedCases'].max()\n",
    "###########################\n",
    "train_case_country.sort_values('ConfirmedCases', ascending=False, inplace = True)\n",
    "train_case_country\n",
    "plt.figure(figsize=(8,6))\n",
    "plt.bar(train_case_country['Country/Region'][:5], train_case_country['ConfirmedCases'][:5], color = ['red', 'yellow','black','blue','green'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "##################这里比较的才是全国确诊人数\n",
    "#################我们国家第一名"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1kAAADQCAYAAAD1Vqu+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3debgkVX3/8feHAUQlgiwxCuIQRQ1xITIgigsKPx1QWQwgioAJSvRxiSaakPhLJG6/mEUMKipRBCOKiKCICCKrGAWGfZMwAsIEoiCIIFFZvr8/6jTTXO7Sc+menjvzfj1PP7f61Knqb53bXdXfOqeqU1VIkiRJkoZjtXEHIEmSJEkrE5MsSZIkSRoikyxJkiRJGiKTLEmSJEkaIpMsSZIkSRqi1ccdwPK2cOHCOvnkk8cdhiRJkqS5LVPNWOV6sm699dZxhyBJkiRpJbbKJVmSJEmSNEojTbKSvCvJFUkuT/LlJGsl2TTJuUmuSfKVJGu2uo9ozxe3+fP71vM3rfzqJC/vK1/YyhYnOXCU2yJJkiRJgxhZkpVkI+AdwIKqegYwD9gL+AhwcFVtBtwO7N8W2R+4vaqeAhzc6pFk87bcHwILgUOTzEsyD/gksCOwOfDaVleSJEmSxmbUwwVXBx6ZZHXgUcDNwEuBY9v8I4Fd2/Qu7Tlt/vZJ0sqPrqrfVNV1wGJg6/ZYXFXXVtVvgaNbXUmSJEkam5ElWVX138C/ADfQJVd3ABcAv6iqe1u1JcBGbXoj4Ma27L2t/vr95ROWmapckiRJksZmlMMFH0vXs7Qp8ATg0XRD+yaq3iJTzFvW8sliOSDJoiSLbrnllplClyRJkqRZG+XvZO0AXFdVtwAkOQ54PrBuktVbb9XGwE2t/hLgicCSNrxwHeC2vvKe/mWmKn+QqjoMOAxgwYIFkyZiAFu+5wvLsn0rnQv+ed9xhyBJkiTNeaO8JusGYJskj2rXVm0PXAmcAeze6uwHfKNNn9Ce0+afXlXVyvdqdx/cFNgMOA84H9is3a1wTbqbY5wwwu2RJEmSpBmNrCerqs5NcixwIXAvcBFdb9K3gKOTfLCVfa4t8jngP5IspuvB2qut54okx9AlaPcCb62q+wCSvA04he7OhYdX1RWj2h5JkiRJGkS6zqJVx4IFC2rRokWTznO4oMMFJUmSpAFNdo8IYPS3cJckSZKkVYpJliRJkiQNkUmWJEmSJA2RSZYkSZIkDZFJliRJkiQNkUmWJEmSJA2RSZYkSZIkDZFJliRJkiQNkUmWJEmSJA2RSZYkSZIkDZFJliRJkiQNkUmWJEmSJA2RSZYkSZIkDZFJliRJkiQNkUmWJEmSJA2RSZYkSZIkDZFJliRJkiQNkUmWJEmSJA2RSZYkSZIkDZFJliRJkiQNkUmWJEmSJA2RSZYkSZIkDZFJliRJkiQNkUmWJEmSJA2RSZYkSZIkDZFJliRJkiQN0erjDkArhxve/8xxhzBWm/z9ZeMOQZIkSSsIe7IkSZIkaYhMsiRJkiRpiEyyJEmSJGmITLIkSZIkaYhGmmQlWTfJsUl+lOSqJM9Lsl6SU5Nc0/4+ttVNkkOSLE5yaZLn9K1nv1b/miT79ZVvmeSytswhSTLK7ZEkSZKkmSxzkpVktSSPGbD6vwEnV9XTgWcDVwEHAqdV1WbAae05wI7AZu1xAPCp9nrrAe8DngtsDbyvl5i1Ogf0LbdwWbdHkiRJkoZpoCQryZeSPCbJo4ErgauTvGeGZR4DvAj4HEBV/baqfgHsAhzZqh0J7NqmdwG+UJ0fAusmeTzwcuDUqrqtqm4HTgUWtnmPqaofVFUBX+hblyRJkiSNxaA9WZtX1S/pkpiTgE2AfWZY5veBW4DPJ7koyWdbkva4qroZoP393VZ/I+DGvuWXtLLpypdMUv4QSQ5IsijJoltuuWXGjZUkSZKk2Ro0yVojyRp0SdY3quoeoGZYZnXgOcCnquqPgF+xdGjgZCa7nqpmUf7QwqrDqmpBVS3YcMMNp49akiRJkh6GQZOszwDXA48Gzk7yJOCXMyyzBFhSVee258fSJV0/bUP9aH9/1lf/iX3LbwzcNEP5xpOUS5IkSdLYDJRkVdUhVbVRVe3Urpn6CfCSGZb5H+DGJE9rRdvTXc91AtC7Q+B+wDfa9AnAvu0ug9sAd7ThhKcAL0vy2HbDi5cBp7R5dybZpt1VcN++dUmSJEnSWKw+SKUkjwM+DDyhqnZMsjnwPNpNLabxduCoJGsC1wJ/QpfYHZNkf+AGYI9W9yRgJ2AxcHerS1XdluQDwPmt3vur6rY2/RbgCOCRwLfbQ5IkSZLGZqAkiy6R+Tzw3vb8v4CvMEOSVVUXAwsmmbX9JHULeOsU6zkcOHyS8kXAM6aLQZIkSZKWp0Gvydqgqo4B7geoqnuB+0YWlSRJkiTNUYMmWb9Ksj7t7n29a6ZGFpUkSZIkzVGDDhf8C7obUzw5yfeBDYHdRxaVJEmSJM1RAyVZVXVhkhcDT6P7faqr229lSZIkSZL6DDRcMMkewCOr6gq6HyT+SpLnjDQySZIkSZqDBr0m6++q6s4kLwBeDhwJfGp0YUmSJEnS3DRoktW7k+ArgE9V1TeANUcTkiRJkiTNXYMmWf+d5DPAnsBJSR6xDMtKkiRJ0ipj0ERpT+AUYGFV/QJYD3jPyKKSJEmSpDlqoCSrqu6uquOAO5JsAqwB/GikkUmSJEnSHDTo3QV3TnINcB1wVvv77VEGJkmSJElz0aDDBT8AbAP8V1VtCuwAfH9kUUmSJEnSHDVoknVPVf0cWC3JalV1BrDFCOOSJEmSpDlp9QHr/SLJ2sDZwFFJfgbcO7qwJEmSJGluGrQnaxfgbuBdwMnAj4FXjSooSZIkSZqrpk2ykjwlybZV9auqur+q7q2qI4GLgXWXT4iSJEmSNHfM1JP1MeDOScrvbvMkSZIkSX1mSrLmV9WlEwurahEwfyQRSZIkSdIcNlOStdY08x45zEAkSZIkaWUwU5J1fpI3TSxMsj9wwWhCkiRJkqS5a6ZbuL8TOD7J3ixNqhYAawK7jTIwSZIkSZqLpk2yquqnwPOTvAR4Riv+VlWdPvLIJEmSJGkOmjbJSrJem7ykPR5UXlW3jS40SZIkSZp7ZhoueAFQQIBNgNvb9LrADcCmI41OkiRJkuaYaW98UVWbVtXvA6cAr6qqDapqfeCVwHHLI0BJkiRJmktmurtgz1ZVdVLvSVV9G3jxaEKSJEmSpLlrpuGCPbcm+b/AF+mGD74e+PnIopJWIdt+fNtxhzBW33/798cdgiRJ0lAN2pP1WmBD4Pj22LCVSZIkSZL6DNST1e4i+OdJ1q6qu0YckyRJkiTNWQP1ZCV5fpIrgSvb82cnOXSkkUmSJEnSHDTocMGDgZfTrsOqqkuAFw2yYJJ5SS5KcmJ7vmmSc5Nck+QrSdZs5Y9ozxe3+fP71vE3rfzqJC/vK1/YyhYnOXDAbZEkSZKkkRk0yaKqbpxQdN+Ai/45cFXf848AB1fVZnS/u7V/K98fuL2qnkKX1H0EIMnmwF7AHwILgUNb4jYP+CSwI7A58NpWV5IkSZLGZtAk68YkzwcqyZpJ3s2DE6dJJdkYeAXw2fY8wEuBY1uVI4Fd2/Qu7Tlt/vat/i7A0VX1m6q6DlgMbN0ei6vq2qr6LXB0qytJkiRJYzNokvVm4K3ARsASYIv2fCYfA/4KuL89Xx/4RVXd254vaeuk/b0RoM2/o9V/oHzCMlOVP0SSA5IsSrLolltuGSBsSZIkSZqdQe8ueCuw97KsOMkrgZ9V1QVJtusVT7b6GeZNVT5ZgliTlFFVhwGHASxYsGDSOpIkSZI0DAMlWUk2Bd4OzO9fpqp2nmaxbYGdk+wErAU8hq5na90kq7feqo2Bm1r9JcATgSVJVgfWAW7rK+/pX2aqckmSJEkai0GHC34duB74OPCvfY8pVdXfVNXGVTWf7sYVp1fV3sAZwO6t2n7AN9r0Ce05bf7pVVWtfK9298FNgc2A84Dzgc3a3QrXbK9xwoDbI0mSJEkjMVBPFvDrqjpkSK/518DRST4IXAR8rpV/DviPJIvperD2AqiqK5IcQ/cbXfcCb62q+wCSvA04BZgHHF5VVwwpRkmSJEmalUGTrH9L8j7gO8BveoVVdeEgC1fVmcCZbfpaujsDTqzza2CPKZb/EPChScpPAk4aJAZJkiRJWh4GTbKeCexDd/v13p0Cqz2XJEmSJDWDJlm7Ab/ffo9KkiRJkjSFQW98cQmw7igDkSRJkqSVwaA9WY8DfpTkfB58TdZ0t3CXJEmSpFXOoEnW+0YahSTNwlkvevG4QxirF5991rhDkCRJk5gxyUoyD/i7qtphOcQjSZIkSXPajNdktd+kujvJOsshHkmSJEma0wb+MWLgsiSnAr/qFVbVO0YSlSRJkiTNUYMmWd9qD0mSJEnSNAZKsqrqyFEHIkmSJEkrg2mTrCTHVNWeSS4DauL8qnrWyCKTJEmSpDlopp6sd7a/rxx1IJIkSZK0MpgpyToReA7wwaraZznEI0mSJElz2kxJ1ppJ9gOen+TVE2dW1XGjCUuSJEmS5qaZkqw3A3sD6wKvmjCvAJMsSZIkSeozbZJVVecA5yRZVFWfW04xSZIkSdKcNegt3D+X5PnA/P5lquoLI4pLkjRCn/jLb447hLF6279OHJwhSdLwDJRkJfkP4MnAxcB9rbgAkyxJkiRJ6jNQkgUsADavqof8VpYkSZIkaanVBqx3OfB7owxEkiRJklYGg/ZkbQBcmeQ84De9wqraeSRRSZIkSdIcNWiSddAog5AkSZKklcWgdxc8K8njgK1a0XlV9bPRhSVJkiRJc9NA12Ql2RM4D9gD2BM4N8nuowxMkiRJkuaiQYcLvhfYqtd7lWRD4LvAsaMKTJIkSZLmokHvLrjahOGBP1+GZSVJkiRplTFoT9bJSU4BvtyevwY4aTQhSZIkSdLcNW2SleQpwOOq6j1JXg28AAjwA+Co5RCfJEkrlA+9ftW+JPm9X/RKAUmayUxD/j4G3AlQVcdV1V9U1bvoerE+NurgJEmSJGmumSnJml9Vl04srKpFwPyRRCRJkiRJc9hMSdZa08x75HQLJnlikjOSXJXkiiR/3srXS3Jqkmva38e28iQ5JMniJJcmeU7fuvZr9a9Jsl9f+ZZJLmvLHJIkM2+yJEmSJI3OTEnW+UneNLEwyf7ABTMsey/wl1X1B8A2wFuTbA4cCJxWVZsBp7XnADsCm7XHAcCn2mutB7wPeC6wNfC+XmLW6hzQt9zCGWKSJEmSpJGa6e6C7wSOT7I3S5OqBcCawG7TLVhVNwM3t+k7k1wFbATsAmzXqh0JnAn8dSv/QlUV8MMk6yZ5fKt7alXdBpDkVGBhkjOBx1TVD1r5F4BdgW8PsuGSJEmSNArTJllV9VPg+UleAjyjFX+rqk5flhdJMh/4I+BcursV9pKvm5P8bqu2EXBj32JLWtl05UsmKZ/s9Q+g6/Fik002WZbQJUnSkFz1oWX6+rDS+YP3vnTcIUhaTgb6nayqOgM4YzYvkGRt4GvAO6vql9NcNjXZjJpF+UMLqw4DDgNYsGDBpHUkSZIkaRhmuibrYUmyBl2CdVRVHdeKf9qGAdL+/qyVLwGe2Lf4xsBNM5RvPEm5JEmSJI3NyJKsdqe/zwFXVdVH+2adAPTuELgf8I2+8n3bXQa3Ae5owwpPAV6W5LHthhcvA05p8+5Msk17rX371iVJkiRJYzHQcMFZ2hbYB7gsycWt7G+BfwSOaXcovAHYo807CdgJWAzcDfwJQFXdluQDwPmt3vt7N8EA3gIcQXc7+W/jTS8kSZIkjdnIkqyqOofJr5sC2H6S+gW8dYp1HQ4cPkn5IpbekEOSJEmSxm6k12RJkiRJ0qrGJEuSJEmShsgkS5IkSZKGyCRLkiRJkobIJEuSJEmShsgkS5IkSZKGyCRLkiRJkobIJEuSJEmShsgkS5IkSZKGyCRLkiRJkobIJEuSJEmShsgkS5IkSZKGyCRLkiRJkobIJEuSJEmShsgkS5IkSZKGyCRLkiRJkoZo9XEHIEmSpOkddNBB4w5hrFb17dfcY5IlSZKkldYxX9163CGM1Z57nDfuEFZJDheUJEmSpCEyyZIkSZKkITLJkiRJkqQh8posSZIkSQ/x7GNPGXcIY3XJ7i+f9bL2ZEmSJEnSEJlkSZIkSdIQmWRJkiRJ0hCZZEmSJEnSEJlkSZIkSdIQmWRJkiRJ0hCZZEmSJEnSEJlkSZIkSdIQmWRJkiRJ0hDN+SQrycIkVydZnOTAcccjSZIkadU2p5OsJPOATwI7ApsDr02y+XijkiRJkrQqm9NJFrA1sLiqrq2q3wJHA7uMOSZJkiRJq7BU1bhjmLUkuwMLq+qN7fk+wHOr6m0T6h0AHNCePg24erkGOrgNgFvHHcQcZdvNnm03e7bd7Nl2s2fbzZ5tN3u23ezZdrO3orfdrVW1cLIZqy/vSIYsk5Q9JGusqsOAw0YfzsOTZFFVLRh3HHORbTd7tt3s2XazZ9vNnm03e7bd7Nl2s2fbzd5cbru5PlxwCfDEvucbAzeNKRZJkiRJmvNJ1vnAZkk2TbImsBdwwphjkiRJkrQKm9PDBavq3iRvA04B5gGHV9UVYw7r4VjhhzSuwGy72bPtZs+2mz3bbvZsu9mz7WbPtps922725mzbzekbX0iSJEnSimauDxeUJEmSpBWKSZYkSZIkDZFJ1ogk+b0kRyf5cZIrk5yU5IAkJ05R/7NJNl/eca7oktzV/s5P8roB6s9PcvnoI5t7JmubJAcleXeSbZKcm+TiJFclOWhMYY5VkvcmuSLJpa0tnjuLdeyc5MBRxDcuSR6X5EtJrk1yQZIfJNlt3HGtjHr7PE0uyX3ts9l7zB93TMtT//sjyU5JrkmyyZhi+dMkl7X95eVJdpnlerZIslPf84OSvHt4kU75usu8v0/y/iQ7tOl3JnnUkGIZ2jYnOaL9juyg9af8bjDDcguSHNKmt0vy/FnEen2SDaYrT7JlkuuS/NEwj68t5km/kw/LnL7xxYoqSYDjgSOraq9WtgXwqqmW6f2gsqY0H3gd8KUxx7GyOhLYs6ouSTKP7ke7VylJnge8EnhOVf2m7eDXXNb1VNUJrER3OW37s6/T7c9e18qeBOw84PLzquq+EYa40rMNH+R/q2qLqWYmWb2q7l2eAY1Dku2BjwMvq6obBlxmaG2TZGPgvXT7yzuSrA1sOMvVbQEsAE4aRmyDmO3+vqr+vu/pO4EvAnc/zFjm5HfxqloELGpPtwPuAv5zmK+R5FnAscBrquoi4CLm0PHVnqzReAlwT1V9uldQVRcD3wPWTnJskh8lOap9gSHJmUkWtOm7knwoySVJfpjkca38Va234aIk3+2VryL+EXhhO9v0rnbm5XtJLmyPh5xBafO36Hv+/faB1UP9LnAzQFXdV1VXjjmecXg83S+3/wagqm6tqpvaGbWPJDmvPZ4CU38ek7whySfa9BFJDknyn60XaOCziyuQlwK/nbA/+0lVfTzJvCT/nOT8djb4z+CBM4RnJPkScFn7vP4oXY/95W3ft0P7TF6TZOu23NatrS5qf5/Wyt+Q5LgkJ7f6/9TK909ycC+uJG9K8tHl2TijMrENW9nX0/UkXpHkgL66kx4zVhXt/fHVJN8EvpNk7SSntWPDZWk9LO19eFWSf29t+J0kj2zzntI+x5e05Z7cyt/T9/7+hzFu5gOSvBD4d+AVVfXjVvakts2Xtr+btPIjknw0yRnAR5I8OsnhbZsumtA20x5TJ/hd4E66L9ZU1V1VdV1b1xbtfXhpkuOTPLaV93/P2aDtW9cE3g+8ph3fX9PWv3mrf22Sdwyx+Xoesr8HNk5yXItvlyT/m2TNJGslubaVH5Fk9xbTE4Az2ud05yztXb06Sa8ttkxyVvvcnpLk8X1t8eEkZwF/3h9Y24+d396LX0vrLcsUx5N0PpFu1NS32v9maFqsvWPgf7X33wM9Qel6k98MvKtt/wuTbNhiP789tm3LrN8+dxcl+QyQaV76D+hO8O1TVee15Wc8viZZLcmh7TN+YrqRZL15C9Mdi84BXt23jeul279e2t67z2rlByU5ssV8fZJXJ/mndPuVk5OsMW3jVZWPIT+AdwAHT1K+HXAH3Y8mrwb8AHhBm3cmsKBNF/CqNv1PwP9t049l6R0h3wj867i3dTm05V19bXdiX/mjgLXa9GbAojY9H7i8Te8HfKxNP7VXZ1V99LdNX9lBwLuBvwdup+uB/bNe265KD2Bt4GLgv4BDgRe38uuB97bpfXvvw6k+j8AbgE+06SOAr7bP++bA4nFv5yzaZdL9WZt3QN/+6RF0ZzU3bZ/XXwGb9r337gWe2driAuBwugPsLsDXW73HAKu36R2Ar/W16bXAOsBawE/ofoj+0cCPgTVavf8EnjnuNnuY7d2/z3ugDVvZeu3vI4HLgfXb80mPGSvjA7ivfU4vBo7ve38s6Wuf1YHHtOkNgMXtvdZ7H27R5h0DvL5Nnwvs1qbXojvGvIzu9tFp79sTgReNefvvAW4DnjWh/JvAfm36T/s+U0e0uOe15x/u2+Z16fZ3j2aKY+o0ccyj+/mcG4DP995/bd6lLN1/vp+lx+EzWfo9ZwPg+r7/3yf6lj+ofZYf0er9vPcZH2I7PmR/394317X5/0L3W6zbtnlf7mvP3dv09cAGk6z7GOCtwBptOzZs5a+h+6mhXlscOmGb392m1+8r/yDw9r7XfsjxhC5ZOLX9T54A/KIX44BtMZ8pvhv0xdo7vu0EfLdNb8fS4+ED9dvzL7H0++0mwFVt+hDg79v0K+j2XZO14fV07/OdJpQ/8F6Zpj12p+sVXQ34PbrvNrvTfa5vpHt/p/2fevF/HHhfm34pcHHfdp3T/pfPpuu13LHNOx7Ydbq2nZNdlHPceVW1BCDJxXRv7nMm1Pkt3U4Rui8j/6dNbwx8pZ0JWRO4buTRrrjWAD6RrqfqProkaqKvAn+X5D10B50jll94K6Spfq+hqur9SY6i+1LxOuC1dDvQVUZV3ZVkS+CFdL3RX8nSsd9f7vvb6zkZ9PP49aq6H7gyK0EPQ5JPAi+g20/9BHhWlvbQrUN3APst3b6uv02uq6pej8wVwGlVVUkuo9sP9pY/MslmdO/X/rOEp1XVHW35K4EnVdWNSU4HXpnkKrovYpcNf6vHZmIbviNLr4V7Il1b/5ypjxkro6mGC55aVbe16QAfTvIi4H5gI6D32buuupEl0LXV/CS/A2xUVccDVNWvAZK8jG6feFGrvzZdm5895G1aFvfQfXHfnwf3gDyPpWfm/4Mu2e75ai0dbvoyYOcsvd5mLbovwTcx8zH1AVV1X5KFwFbA9sDBbf95MLBuVZ3Vqh5JdyxeVt+qrpfpN0l+Rvf/WzKL9Uxqsv09cCCwOMkfAFsDHwVeRJe8fG+Q9Sb5K7r36CeTPAN4BnBqukFL82gjRpqvTLGaZyT5IF0SvDZdMtsz2fHkRXRJ4H3ATW2fuCym/G7QN31c+3sBS/fX09mBrjey9/wx7XP2Itr7tKq+leT2adbxXeCNSU6pqYdLT9YeL6B7z98P/E+6XlyAp9N9/q8BSPJFuhOFvWX+uMV1eutxW6fN+3ZV3dOOVfOAk1t5/7FrUiZZo3EFXdY8md/0Td/H5P+De6qlyRPqfBz4aFWdkGQ7ugx7VfUu4Kd0ZxZWA349sUJV3Z3kVLoz5XvSjflelf2crvel33q05KC6YSefSvLvwC1J1q+qny/nGMeq7cjPBM5sO9T9erP6q7W/g34e+z/z0w2NWFFdQTv4AFTVW9Ndv7CI7iz226uq/0sArT1+NWE9/e1wf9/z+1m6j/sAcEZV7daGoJw5xfL9+8XPAn8L/IjujPrK5IE2bG26A/C8tm87k+4LMkx9zFiV9L/f9qa7PmjL9uXoepa21cT30SOZ+nMZ4P9V1WeGHOvDcT/d8ey7Sf62qj48Rb3+fVZ/2wT446q6ur9yupsdTXtMfcgLdO+584Dz2rH28yw9CTWZe1l6mcpa09SDwb4rPSxT7O+/B+xIl8x+l+7k7Dy6ER/TSned3B50iQR0bX1FVT1vikUm7iN7jqDrIbkkyRt48AnPqY4nD+dHb6f9bjDhdQf9X6xGt6/63/7ClnQNGuvbgE/T9TT+2RR1JmuP6Y6zU732ZMv06vaGlN6fpH9f23/smpTXZI3G6cAjkrypV5BkK7ou54djHeC/2/R+01VcCd0J/E7f83WAm9uZin3odoKT+Sxd9/T5fWc5V0lVdRdwczsQkGQ9YCFwTpJXZOkpp83odqS/GE+k45Hkaa0HpWcLup4a6IZ59P7+oE2vKp/H04G1krylr6x3R61TgLf0xqUneWqSRz+M1+pv0zcMskBVnUvXq/M6lvY4rozWAW5vCdbTgW3GHdAKbB3gZy3BegnwpOkqV9UvgSVJdgVI8oh018GcAvxpups6kGSjJEO93mU2qupuups27J1k/1b8n8BebXpvHjpCpucU4O29/X2SP2rlUx5Tk/xo4kqSPCHJc/qKtgB+0nqbb0+7bqetq9erdT2wZZvuPxE98fg+ctPs78+mu6HFD6rqFmB9uh6QKyZZzQNxp7sZ0KF0N5DqJRZXAxumu8kGSdZI8ocDhPc7dMfqNej+lzM5G9gr3TWyj6frmRvYdN8NlmE1E/+H36FLkmjr7PU+n03bpiQ78tDkrt/9dKNqnpbk/csQyznAH6e7NutxLE1SfwRsmna9ZVt3T39c29Fdr/fLZXjNSa2KZ7tGrg2B2Q34WBtu9Gu6ncvXH+aqDwK+muS/gR/SXfuwqrgUuDfJJXRneQ4FvpZkD+AMpjgjVFUXJPklK98Z7tnaF/hkkn9tz/+hqn6c5EN0wz3upjvbuPc03fMrq7WBjydZl64NFtMNJXgl3UmTc+lOTPV2zAexCnwe2/5sV7r3x18Bt9B93v6abhjQfODC9qXtFmDXh/Fy/0Q3XPAv6JK7QR1Dd53NdENP5rqTgTcnuZTuy9sPxxzPiuwo4JtJFtFdd/OQJGES+wCfaV/m7gH2qKrvtKFjP2g5yV3A64GfjSbswVXVbZbPFAcAAAVjSURBVG243tlJbqW7dvLwdMPjbwH+ZIpFPwB8DLi0fWavp9vHTXpMbb3Wk53lXwP4lyRPoPuOcwvdzQ+gO+n06ZaoXtsXy78AxyTZhwd/vs8ADkx3CcX/W6aGmL2p9ve/ohua2BsSeildwj5ZD8hhwLeT3EzXI7Y+cHx7r9xUVTulG0p9SBt6tjpd20+WsPX7O7prBH9CNyRtpgT0eLrriC6ju8bsrOmrT2rS7wbLsPw3gWPT3Ujl7XTvx0+2/dXqdO35ZuAfgC8nubDFOe2dMau78+MuwFlJfsrUvX/9vkY3hPVyuvY4F7ijqn6d7oZB32qfmXPohnNCdzz/fIv3boZ04jSTv2+klUM7AJwJPL2doZOWSRtqtKC6u09pBZTut04OrqrTxh2LtDJJ8krg96vqkHHHIg0qydrturv16Ya0bltV/7O847AnSyutJPsCHwL+wgRLWvm0s9DnAZeYYEnDV1Uj/bFWaURObMeHNYEPjCPBAnuyJEmSJGmovPGFJEmSJA2RSZYkSZIkDZFJliRJkiQNkUmWJGlskvxekqOT/DjJlUlOSvLUIa5/uyTPn+Wyj0/ynSTzk/xvkotbjF/o/TbYLNf72SSbz3Z5SdKKzyRLkjQW7Xd6jgfOrKonV9XmwN/S/U7NsGwHTJpkJZnpDrsL6X68FeDHVbUF8ExgY2DP2QZUVW+sqitnu7wkacVnkiVJGpeXAPdU1ad7BVV1MXBOkn9OcnmSy5K8Bh7olXrgltJJPpHkDW36+iT/kOTCtszTk8yn+wHMd7VeqBcmOSLJR5OcAfxzkmuSbNjWsVqSxe0HWKFLsr7dH3D7ke7zgI3aMvNarOcnuTTJn/Wt69AkVyQ5sfXQ7d7mnZlkQZt+bYv38iQf6du2u5J8KMklSX6YZJiJpyRpxEyyJEnj8gzggknKXw1sATwb2IEuGXr8AOu7taqeA3wKeHdVXQ98mu6Hireoqu+1ek8FdqiqdwFfBPZu5TvQ/ebWrUnmAU+b2OOUZC3gucDJrWh/4I6q2grYCnhTkk3bNsyn6/l6I/C8icG2H0v/CPDStr1bJdm1zX408MOqejZwNvCmAbZfkrSCMMmSJK1oXgB8uaruq6qfAmfRJTAzOa79vYAuwZnKV1uPFMDhwL5t+k+Bz7fp5wLn9i3z5CQXAz8HbqiqS1v5y4B927xzgfWBzdo2fLWq7m8/hHnGJHFsRTdU8paquhc4CnhRm/dboNdrN9P2SJJWMCZZkqRxuQLYcpLyTFH/Xh583FprwvzftL/3AdNdb/Wr3kRV3Qj8NMlL6RKr3vDAHVnaWwVLr8l6CrBNkp37Yn176ynboqo2rarvTLMN/aarc09V1YDbI0lawZhkSZLG5XTgEUkeGAqXZCvgduA17XqnDel6d84DfgJsnuQRSdYBth/gNe4EfmeGOp+lGzZ4TF8P1/bAaRMrVtXNwIHA37SiU4C39O42mOSpSR4NnAP8cbs263F0N+CY6FzgxUk2aMMTX0vXaydJmuNMsiRJY9F6anYD/k+7hfsVwEHAl4BLgUvoErG/qqr/ab1Ox7R5RwEXDfAy3wR26934Yoo6JwBr04YKtsTu11X1yynqfx14VFvfZ4ErgQuTXA58hq7X6WvAEqBXdi5wx4Ttv5kuWTujbeuFVfWNAbZJkrSCy9LRCJIkrXranf4OrqoXtuevBzauqn98mOtdu6ruSrI+XU/ctu36LEnSSs4x3pKkVVaSA4G3sPQOg1TVF4e0+hOTrAusCXzABEuSVh32ZEmSJEnSEHlNliRJkiQNkUmWJEmSJA2RSZYkSZIkDZFJliRJkiQNkUmWJEmSJA3R/weIQqamS+nv+wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 864x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def case_day_country (Date, df):\n",
    "    df = df.groupby(['Country/Region', 'Date'], as_index = False)['ConfirmedCases'].sum()\n",
    "    date_filter = (df['Date'] == Date)\n",
    "    df = df.loc[date_filter]\n",
    "    df.sort_values('ConfirmedCases', ascending = False, inplace = True)\n",
    "    sns.catplot(x = 'Country/Region', y = 'ConfirmedCases' , data = df.head(10), height=3,aspect=4, kind = 'bar')\n",
    "case_day_country('2020-03-23', df_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "################在这里停下来\n",
    "################数据处理部分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_train.Date=pd.to_datetime(df_train[\"Date\"])\n",
    "df_test.Date=pd.to_datetime(df_test[\"Date\"])\n",
    "##################测试集和训练集有重合,这会导致什么情况？\n",
    "##################1.这样会夸大模型对于数据的拟合效果\n",
    "##################2.其实我们拟合的数据更加多了，应该能做出更好的模型了\n",
    "##################3.但是为了保证衡量模型的公正性：\n",
    "##################我们应该这么做：\n",
    "##################1.手动剪裁训练集\n",
    "##################2.手动剪裁测试集,但是测试集合是不可能剪辑的，这会导致无法提交\n",
    "##############所以只能手动剪辑训练集合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2020-03-24 00:00:00\n",
      "2020-03-12 00:00:00\n"
     ]
    }
   ],
   "source": [
    "print(df_train['Date'].max())\n",
    "print(df_test['Date'].min())        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "date_filter = df_train['Date'] < df_test['Date'].min()\n",
    "df_train = df_train.loc[date_filter]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "F:\\Anaconda\\lib\\site-packages\\ipykernel_launcher.py:1: FutureWarning: Indexing with multiple keys (implicitly converted to a tuple of keys) will be deprecated, use a list instead.\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n"
     ]
    }
   ],
   "source": [
    "train_country_date = df_train.groupby(['Country/Region', 'Date', 'Lat', 'Long'], as_index=False)['ConfirmedCases', 'Fatalities'].sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Country/Region</th>\n",
       "      <th>Date</th>\n",
       "      <th>Lat</th>\n",
       "      <th>Long</th>\n",
       "      <th>ConfirmedCases</th>\n",
       "      <th>Fatalities</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>2020-01-22</td>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>2020-01-23</td>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>2020-01-24</td>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>2020-01-25</td>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>2020-01-26</td>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Country/Region       Date   Lat  Long  ConfirmedCases  Fatalities\n",
       "0    Afghanistan 2020-01-22  33.0  65.0               0           0\n",
       "1    Afghanistan 2020-01-23  33.0  65.0               0           0\n",
       "2    Afghanistan 2020-01-24  33.0  65.0               0           0\n",
       "3    Afghanistan 2020-01-25  33.0  65.0               0           0\n",
       "4    Afghanistan 2020-01-26  33.0  65.0               0           0"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_country_date.head() \n",
    "#############\"Province\"的缺失值太多了,我们丢弃了，丢弃了缺失值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "################特征工程开始"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_test.drop('Province/State', axis = 1, inplace = True)\n",
    "df_test.Date = pd.to_datetime(df_test['Date'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 12212 entries, 0 to 12211\n",
      "Data columns (total 5 columns):\n",
      " #   Column          Non-Null Count  Dtype         \n",
      "---  ------          --------------  -----         \n",
      " 0   ForecastId      12212 non-null  int64         \n",
      " 1   Country/Region  12212 non-null  object        \n",
      " 2   Lat             12212 non-null  float64       \n",
      " 3   Long            12212 non-null  float64       \n",
      " 4   Date            12212 non-null  datetime64[ns]\n",
      "dtypes: datetime64[ns](1), float64(2), int64(1), object(1)\n",
      "memory usage: 477.2+ KB\n"
     ]
    }
   ],
   "source": [
    "df_test.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "##################直接处理时间数据很麻烦，都转化为日期排序数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_country_date['Month'] = train_country_date['Date'].dt.month\n",
    "train_country_date['Day'] = train_country_date['Date'].dt.day\n",
    "train_country_date['Day_Week'] = train_country_date['Date'].dt.dayofweek\n",
    "train_country_date['quarter'] = train_country_date['Date'].dt.quarter\n",
    "train_country_date['dayofyear'] = train_country_date['Date'].dt.dayofyear\n",
    "train_country_date['weekofyear'] = train_country_date['Date'].dt.weekofyear\n",
    "df_test['Month'] = df_test['Date'].dt.month\n",
    "df_test['Day'] = df_test['Date'].dt.day\n",
    "df_test['Day_Week'] = df_test['Date'].dt.dayofweek\n",
    "df_test['quarter'] = df_test['Date'].dt.quarter\n",
    "df_test['dayofyear'] = df_test['Date'].dt.dayofyear\n",
    "df_test['weekofyear'] = df_test['Date'].dt.weekofyear"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "########特征工程是基于原有的特征构造新的特征\n",
    "########训练集有的特征测试集也要有\n",
    "########所以不如放在一起做特征,就不需要做两次了"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "labels = ['Country/Region', 'Lat', 'Long', 'Date', 'Month', 'Day', 'Day_Week','quarter', 'dayofyear', 'weekofyear']\n",
    "df_train_clean = train_country_date[labels]\n",
    "df_test_clean = df_test[labels]\n",
    "data_clean = pd.concat([df_train_clean, df_test_clean], axis = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "#######################地区是字符串属性,同样需要转化属性,再编码一次？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import LabelEncoder"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Country/Region</th>\n",
       "      <th>Lat</th>\n",
       "      <th>Long</th>\n",
       "      <th>Date</th>\n",
       "      <th>Month</th>\n",
       "      <th>Day</th>\n",
       "      <th>Day_Week</th>\n",
       "      <th>quarter</th>\n",
       "      <th>dayofyear</th>\n",
       "      <th>weekofyear</th>\n",
       "      <th>Country</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>2020-01-22</td>\n",
       "      <td>1</td>\n",
       "      <td>22</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>22</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>2020-01-23</td>\n",
       "      <td>1</td>\n",
       "      <td>23</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>23</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>2020-01-24</td>\n",
       "      <td>1</td>\n",
       "      <td>24</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>24</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>2020-01-25</td>\n",
       "      <td>1</td>\n",
       "      <td>25</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>25</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>2020-01-26</td>\n",
       "      <td>1</td>\n",
       "      <td>26</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>26</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Country/Region   Lat  Long       Date  Month  Day  Day_Week  quarter  \\\n",
       "0    Afghanistan  33.0  65.0 2020-01-22      1   22         2        1   \n",
       "1    Afghanistan  33.0  65.0 2020-01-23      1   23         3        1   \n",
       "2    Afghanistan  33.0  65.0 2020-01-24      1   24         4        1   \n",
       "3    Afghanistan  33.0  65.0 2020-01-25      1   25         5        1   \n",
       "4    Afghanistan  33.0  65.0 2020-01-26      1   26         6        1   \n",
       "\n",
       "   dayofyear  weekofyear  Country  \n",
       "0         22           4        0  \n",
       "1         23           4        0  \n",
       "2         24           4        0  \n",
       "3         25           4        0  \n",
       "4         26           4        0  "
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "enc = LabelEncoder()\n",
    "data_clean['Country'] = enc.fit_transform(data_clean['Country/Region'])\n",
    "data_clean.head()               ##############为地区编号"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "#################原来的国家数据可以丢掉了"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_clean.drop(['Country/Region', 'Date'], axis = 1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [],
   "source": [
    "#########################划分训练集和测试集，之前合并了"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "index_split = df_train.shape[0]\n",
    "data_train_clean = data_clean[:index_split]\n",
    "data_test_clean = data_clean[index_split:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "######################查看训练集以及测试集数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Lat</th>\n",
       "      <th>Long</th>\n",
       "      <th>Month</th>\n",
       "      <th>Day</th>\n",
       "      <th>Day_Week</th>\n",
       "      <th>quarter</th>\n",
       "      <th>dayofyear</th>\n",
       "      <th>weekofyear</th>\n",
       "      <th>Country</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>1</td>\n",
       "      <td>22</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>22</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>1</td>\n",
       "      <td>23</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>23</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>1</td>\n",
       "      <td>24</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>24</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>1</td>\n",
       "      <td>25</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>25</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>1</td>\n",
       "      <td>26</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>26</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Lat  Long  Month  Day  Day_Week  quarter  dayofyear  weekofyear  Country\n",
       "0  33.0  65.0      1   22         2        1         22           4        0\n",
       "1  33.0  65.0      1   23         3        1         23           4        0\n",
       "2  33.0  65.0      1   24         4        1         24           4        0\n",
       "3  33.0  65.0      1   25         5        1         25           4        0\n",
       "4  33.0  65.0      1   26         6        1         26           4        0"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_train_clean.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Lat</th>\n",
       "      <th>Long</th>\n",
       "      <th>Month</th>\n",
       "      <th>Day</th>\n",
       "      <th>Day_Week</th>\n",
       "      <th>quarter</th>\n",
       "      <th>dayofyear</th>\n",
       "      <th>weekofyear</th>\n",
       "      <th>Country</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>3</td>\n",
       "      <td>12</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>72</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>3</td>\n",
       "      <td>13</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>73</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>3</td>\n",
       "      <td>14</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>74</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>3</td>\n",
       "      <td>15</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>75</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>3</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>76</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Lat  Long  Month  Day  Day_Week  quarter  dayofyear  weekofyear  Country\n",
       "0  33.0  65.0      3   12         3        1         72          11        0\n",
       "1  33.0  65.0      3   13         4        1         73          11        0\n",
       "2  33.0  65.0      3   14         5        1         74          11        0\n",
       "3  33.0  65.0      3   15         6        1         75          11        0\n",
       "4  33.0  65.0      3   16         0        1         76          12        0"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_test_clean.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "########################分离属性变量以及目标变量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = data_train_clean[['Lat', 'Long', 'Month', 'Day', 'Day_Week','quarter', 'dayofyear', 'weekofyear', 'Country']]\n",
    "y_case = df_train['ConfirmedCases']\n",
    "y_fatal = df_train['Fatalities']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [],
   "source": [
    "###########################73开分离训练数据以及测试数据\n",
    "##########################注意啊，我们现在在调树的数目阶段\n",
    "##########################我们是用训练集的一部分调参数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_train, x_test, y_train, y_test = train_test_split(x, y_case, test_size = 0.3, random_state = 42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_train_fatal, x_test_fatal, y_train_fatal, y_test_fatal = train_test_split(x, y_fatal, test_size = 0.3, random_state = 42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [],
   "source": [
    "####################建模"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [],
   "source": [
    "###################首先是随机深林"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.ensemble import RandomForestRegressor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [],
   "source": [
    "#############################这个参数是什么意思？\n",
    "########################森林中树的数目"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [],
   "source": [
    "rf = RandomForestRegressor(n_estimators =100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n",
       "                      max_depth=None, max_features='auto', max_leaf_nodes=None,\n",
       "                      max_samples=None, min_impurity_decrease=0.0,\n",
       "                      min_impurity_split=None, min_samples_leaf=1,\n",
       "                      min_samples_split=2, min_weight_fraction_leaf=0.0,\n",
       "                      n_estimators=100, n_jobs=None, oob_score=False,\n",
       "                      random_state=None, verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 121,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf.fit(x_train, y_train.values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9525416992694734"
      ]
     },
     "execution_count": 122,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf.score(x_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7638272078895423"
      ]
     },
     "execution_count": 123,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf.score(x_test, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "##############引入测评函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import mean_squared_error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "355468.9710330583\n"
     ]
    }
   ],
   "source": [
    "y_pred_train = rf.predict(x_train)\n",
    "print(mean_squared_error(y_train, y_pred_train))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [],
   "source": [
    "###########################参数合适,最后的模型当然要在整个训练集合上学习\n",
    "###########################稍微有点慢"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n",
       "                      max_depth=None, max_features='auto', max_leaf_nodes=None,\n",
       "                      max_samples=None, min_impurity_decrease=0.0,\n",
       "                      min_impurity_split=None, min_samples_leaf=1,\n",
       "                      min_samples_split=2, min_weight_fraction_leaf=0.0,\n",
       "                      n_estimators=100, n_jobs=None, oob_score=False,\n",
       "                      random_state=None, verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf.fit(x, y_case.values.ravel())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": [
    "#############回顾我们真正的测试数据,完全没有打标人为的测试数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Lat</th>\n",
       "      <th>Long</th>\n",
       "      <th>Month</th>\n",
       "      <th>Day</th>\n",
       "      <th>Day_Week</th>\n",
       "      <th>quarter</th>\n",
       "      <th>dayofyear</th>\n",
       "      <th>weekofyear</th>\n",
       "      <th>Country</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>3</td>\n",
       "      <td>12</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>72</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>3</td>\n",
       "      <td>13</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>73</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>3</td>\n",
       "      <td>14</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>74</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>3</td>\n",
       "      <td>15</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>75</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>33.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>3</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>76</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Lat  Long  Month  Day  Day_Week  quarter  dayofyear  weekofyear  Country\n",
       "0  33.0  65.0      3   12         3        1         72          11        0\n",
       "1  33.0  65.0      3   13         4        1         73          11        0\n",
       "2  33.0  65.0      3   14         5        1         74          11        0\n",
       "3  33.0  65.0      3   15         6        1         75          11        0\n",
       "4  33.0  65.0      3   16         0        1         76          12        0"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_test_clean.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [],
   "source": [
    "#############用最终模型去预测\n",
    "rf_pred_case = rf.predict(data_test_clean)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x207e9d4ce48>]"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(5,3))\n",
    "plt.plot(rf_pred_case)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [],
   "source": [
    "#####################建模致死率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',\n",
       "                      max_depth=None, max_features='auto', max_leaf_nodes=None,\n",
       "                      max_samples=None, min_impurity_decrease=0.0,\n",
       "                      min_impurity_split=None, min_samples_leaf=1,\n",
       "                      min_samples_split=2, min_weight_fraction_leaf=0.0,\n",
       "                      n_estimators=100, n_jobs=None, oob_score=False,\n",
       "                      random_state=None, verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rf.fit(x, y_fatal.values.ravel())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [],
   "source": [
    "rf_pred_fatal = rf.predict(data_test_clean)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x207e9db9f08>]"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(5,3))\n",
    "plt.plot(rf_pred_fatal)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [],
   "source": [
    "##################XGBOOST来了\n",
    "##################XGBOOST安装要费点力气：https://blog.csdn.net/lvsehaiyang1993/article/details/80619495"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [],
   "source": [
    "import xgboost as xgb\n",
    "from sklearn.metrics import mean_squared_error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [],
   "source": [
    "###########################偷别人的参数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [],
   "source": [
    "reg = xgb.XGBRegressor(n_estimators=1000,min_child_weight=1,max_depth=6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[22:14:39] WARNING: src/objective/regression_obj.cu:152: reg:linear is now deprecated in favor of reg:squarederror.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "XGBRegressor(base_score=0.5, booster='gbtree', colsample_bylevel=1,\n",
       "             colsample_bynode=1, colsample_bytree=1, gamma=0,\n",
       "             importance_type='gain', learning_rate=0.1, max_delta_step=0,\n",
       "             max_depth=6, min_child_weight=1, missing=None, n_estimators=1000,\n",
       "             n_jobs=1, nthread=None, objective='reg:linear', random_state=0,\n",
       "             reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=None,\n",
       "             silent=None, subsample=1, verbosity=1)"
      ]
     },
     "execution_count": 149,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.fit(x_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9999535815719893"
      ]
     },
     "execution_count": 150,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.score(x_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [],
   "source": [
    "reg_y_pred = reg.predict(x_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "347.68018635218823"
      ]
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mean_squared_error(y_train, reg_y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6973331250123194"
      ]
     },
     "execution_count": 156,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.score(x_test, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3446778.8941083173"
      ]
     },
     "execution_count": 157,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg_y_test_pred = reg.predict(x_test)\n",
    "mean_squared_error(y_test, reg_y_test_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[22:15:42] WARNING: src/objective/regression_obj.cu:152: reg:linear is now deprecated in favor of reg:squarederror.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "XGBRegressor(base_score=0.5, booster='gbtree', colsample_bylevel=1,\n",
       "             colsample_bynode=1, colsample_bytree=1, gamma=0,\n",
       "             importance_type='gain', learning_rate=0.1, max_delta_step=0,\n",
       "             max_depth=6, min_child_weight=1, missing=None, n_estimators=1000,\n",
       "             n_jobs=1, nthread=None, objective='reg:linear', random_state=0,\n",
       "             reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=None,\n",
       "             silent=None, subsample=1, verbosity=1)"
      ]
     },
     "execution_count": 158,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.fit(x, y_case)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_train_pred = reg.predict(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x207e9f6df88>]"
      ]
     },
     "execution_count": 161,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(y_case)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x207e9fc6688>]"
      ]
     },
     "execution_count": 163,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(y_train_pred)          ################这不拟合的挺好的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "518.2672454089136"
      ]
     },
     "execution_count": 164,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mean_squared_error(y_case, y_train_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "metadata": {},
   "outputs": [],
   "source": [
    "xgb_pred_case = reg.predict(data_test_clean)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 168,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x207ee0d2988>]"
      ]
     },
     "execution_count": 168,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(xgb_pred_case)        ###############这个负数是啥啊"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "metadata": {},
   "outputs": [],
   "source": [
    "################建模死亡人数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[22:18:37] WARNING: src/objective/regression_obj.cu:152: reg:linear is now deprecated in favor of reg:squarederror.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "XGBRegressor(base_score=0.5, booster='gbtree', colsample_bylevel=1,\n",
       "             colsample_bynode=1, colsample_bytree=1, gamma=0,\n",
       "             importance_type='gain', learning_rate=0.1, max_delta_step=0,\n",
       "             max_depth=6, min_child_weight=1, missing=None, n_estimators=1000,\n",
       "             n_jobs=1, nthread=None, objective='reg:linear', random_state=0,\n",
       "             reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=None,\n",
       "             silent=None, subsample=1, verbosity=1)"
      ]
     },
     "execution_count": 172,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.fit(x, y_fatal)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 173,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.3201055137748399\n"
     ]
    }
   ],
   "source": [
    "print(mean_squared_error(y_fatal, reg.predict(x)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 174,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x207ee0fefc8>]"
      ]
     },
     "execution_count": 174,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(reg.predict(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 175,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x207ee19ec08>]"
      ]
     },
     "execution_count": 175,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(y_fatal)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 176,
   "metadata": {},
   "outputs": [],
   "source": [
    "xgb_pred_fatal = reg.predict(data_test_clean)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 177,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x207ee20d588>]"
      ]
     },
     "execution_count": 177,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(xgb_pred_fatal)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 181,
   "metadata": {},
   "outputs": [],
   "source": [
    "#################################submit_kaggle这是提交文件\n",
    "######################################提交模块"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 182,
   "metadata": {},
   "outputs": [],
   "source": [
    "# submission = pd.read_csv(submit_kaggle)\n",
    "# submission['ConfirmedCases'] = xgb_pred_case\n",
    "# submission['Fatalities'] = xgb_pred_fatal\n",
    "# submission.to_csv('submission.csv', index = False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
